<html>
	<head>
	</head>
	<body>
		<h1>Relocating Demonstrations</h1>
		<p>As of summer 2012, AMD mapping!</p>
		<p>(AKA multi-version support or rescoping)</p>

		<h3><a href="coolio-dev-legacy.html">Developing a component with the legacy API</a></h3>
		<p>Just develop as if you have full control and ownership over the dojo and dijit on the
		page. Later, the component can be built into a distributable package that includes its own, private instance of dojo
		and dijit (see below).</p>

		<h3><a href="coolio-dev-async.html">Developing a component with the AMD API</a></h3>
		<p>Again, just develop as if you have full control and ownership over the dojo and dijit on the
		page. But with the AMD API you can set up your dev environment so that you actually have multiple instances of
		dojo and dijit (or any other module trees) on the page while developing--no build required. Notice the console
		when you load this example: multiple instances...also the load time is much faster!</p>

		<h3><a href="coolio-dev-async-with-packageMap.html">Developing a
				component with the AMD API using packageMap</a></h3>
		<p>Same as above, except using the dojo-only "packageMap" config
			variable; this variable has been replaced with the AMD-standard
			"map" config variable.</p>

		<h3><a href="coolio-dev-legacy-async.html">Developing a component with the legacy API, loaded asynchronously</a></h3>
		<p>The idea is to force the loader into cross-domain mode so that even local, unbuilt resources will be
		transformed to built, AMD modules on-the-fly. With these transformations, we can have multiple instances of dojo
		and dijit (or any other module trees) on the page while developing--no build require. Notice the console
		when you load this example: multiple instance, but it's the slowest of the bunch.</p>
		<p>Generally, this mode is not useful under normal circumstances. However, it is a good test of the cross-domain
		loader in the presense of relocated module trees.</p>

		<h3><a href="coolio-dev-legacy-async-with-packageMap.html">Developing a component with
				the legacy API, loaded asynchronously</a></h3>
		<p>Same as above, except using the dojo-only "packageMap" config
			variable; this variable has been replaced with the AMD-standard
			"map" config variable.</p>

		<h1>Build Time</h1>
		<p>The v1.7 builder converts all legacy modules to AMD modules. This allows any legacy tree to be relocated just as if
		it was an AMD tree all along. The profile coolio-legacy.profile.js is included to build the coolio project. It
		anticipates relocating dojo and dijit (the builder needs to know which modules may be relocated when it converts
		legacy modules to AMD modules; it does not need to know the actual relocated names). You can build the coolio
		demostration by executing the following command from the util/buildscripts directory</p>
		<pre>
./build.sh -p ../../dojo/tests/_base/loader/coolio/coolio.profile.js -r
		</pre>
		<p> There are four demonstrations of the built code<p>
		<p><b>Remember to do a build before you try these!</b></p>
		<ul>
		  <li>The <a href="coolio-built.html?">coolio calendar</a> as a built-AMD module loaded in <b>synchronous legacy</b> mode.</a></li>
		  <li>The <a href="coolio-built.html?async">coolio calendar</a> as a built-AMD module loaded in <b>AMD</b> mode.</a></li>
		  <li>The <a href="coolio-built.html?legacy">coolio calendar</a> as a built-legacy module loaded in <b>synchronous legacy</b> mode.</a></li>
		  <li>The <a href="coolio-built.html?legacy,async">coolio calendar</a> as a built-legacy module loaded in <b>AMD</b> mode.</a></li>
		 </ul>
	</body>
</html>
